當前位置:首頁 » 游戲資訊 » rpg游戲用代碼怎麼做

rpg游戲用代碼怎麼做

發布時間: 2022-06-27 05:32:04

① 製作RPG游戲中,裡面說的腳本是什麼

腳本,從網路中:
腳本(script)是使用一種特定的描述性語言,依據一定的格式編寫的可執行文件,又稱作宏或批處理文件。
那麼,在RPG製作中的腳本,通常是指已經有個一個RPG的運行框架,也就是這個RPG游戲的代碼框架已經完成,但是你要在這個框架上拓展。
很多時候,製作框架的人會實現一種自己的語言,用這種語言可以很輕松的訪問RPG游戲框架,來達到拓展的目的。這個時候,你為拓展所寫的代碼就是腳本。(有些RPG的底層甚至也是用腳本的方式來寫的)
所以腳本語言並不只有一種。
比如,rpg
maker
使用了RGSS作為腳本語言
krkr使用了KAG和TJS作為腳本語言……這樣

② 求一個簡單RPG游戲的代碼,JAva編寫的

packagecom.lxi;

importjava.io.BufferedReader;
importjava.io.InputStreamReader;

publicclassRpg{
@SuppressWarnings("unchecked")
publicstaticvoidmain(String[]args)throwsException{
System.out.println("在這里輸入兩個人物進行PK,以英文逗號分隔:[BM,DH,MK]");
BufferedReaderbr=newBufferedReader(newInputStreamReader(System.in));
Class<Person>c1;
Class<Person>c2;
try{
Stringtemp=br.readLine();
String[]str=temp.split(",");
if(str.length!=2){
thrownewException("輸入格式有誤,按默認PK");
}
c1=(Class<Person>)Class.forName("com.lxi."
+str[0].toUpperCase());
c2=(Class<Person>)Class.forName("com.lxi."
+str[1].toUpperCase());
}catch(Exceptione){
//TODOAuto-generatedcatchblock
c1=(Class<Person>)Class.forName("com.lxi.BM");
c2=(Class<Person>)Class.forName("com.lxi.DH");
}
try{
Personp1=c1.newInstance();
Personp2=c2.newInstance();
longtime=System.currentTimeMillis();
longnextTime1=(long)(time+p1.coldTime*1000);//
longnextTime2=(long)(time+p2.coldTime*1000);//發動攻擊的時間
System.out.println("---游戲開始---");
while(true){
longcurrenTime=System.currentTimeMillis();

if(nextTime1<currenTime){//時間到則發動攻擊
p1.hit(p2);
nextTime1+=p1.coldTime*1000+p1.waitTime*1000;//下次攻擊時間=冷卻時間+被暈眩時間
p1.waitTime=0;//回合結束,重置被暈眩時間為0
}
if(nextTime2<currenTime){
p2.hit(p1);
nextTime2+=p2.coldTime*1000+p2.waitTime*1000;
p2.waitTime=0;
}
}
}catch(ClassCastExceptione){
//TODOAuto-generatedcatchblock
e.printStackTrace();
}catch(InstantiationExceptione){
//TODOAuto-generatedcatchblock
e.printStackTrace();
}catch(IllegalAccessExceptione){
//TODOAuto-generatedcatchblock
e.printStackTrace();
}catch(Exceptione){
e.printStackTrace();
}
}
}




packagecom.lxi;

importjava.util.Random;

classBMextendsPerson{
publicBM(){
val=650;
coldTime=1.5;
fight=40;
chanceHit=3;
chanceDefense=3;
waitTime=0;
}

intcount=0;//防禦技能發動的次數
inttemp=40;//攻擊力,值同fight
booleanhitFlag=false;
booleandefenseFlag=false;
Randomrand=newRandom();

publicvoidhit(Personp){
if(rand.nextInt(10)<chanceHit){
fight=fight*2;//發動雙倍攻擊
hitFlag=true;
}
inthurt=p.defense(this);
p.val=p.val-hurt;
fight=temp;//還原為單倍攻擊
if(p.val<=0){
System.out.println(this.getClass().getSimpleName()+"勝出!");
System.exit(0);
}
System.out.println(this.getClass().getSimpleName()+"攻擊"
+p.getClass().getSimpleName()+","
+this.getClass().getSimpleName()
+(this.hitFlag?"發動攻擊技能":"未發動攻擊技能")
+p.getClass().getSimpleName()
+(this.defenseFlag?"發動防禦技能":"未發動防禦技能")
+this.getClass().getSimpleName()+":"+this.val+","
+p.getClass().getSimpleName()+":"+p.val);
hitFlag=false;
defenseFlag=false;
}

publicintdefense(Personp){
if(rand.nextInt(10)<chanceDefense){
if(count!=0){
p.val=p.val-p.fight;
count++;
defenseFlag=true;
if(p.val<=0){
System.out.println(this.getClass().getSimpleName()+"勝出!");
System.exit(0);
}
}
}
returnp.fight;
}
}

classMKextendsPerson{
publicMK(){
val=700;
coldTime=2.5;
fight=50;
chanceDefense=6;
chanceHit=3;
waitTime=0;
}

booleanhitFlag=false;
booleandefenseFlag=false;
Randomrand=newRandom();

publicvoidhit(Personp){
if(rand.nextInt(10)<chanceHit){
p.waitTime=3;//使對方暈眩3s
hitFlag=true;
}
inthurt=p.defense(this);
p.val=p.val-hurt;
if(p.val<=0){
System.out.println(this.getClass().getSimpleName()+"勝出!");
System.exit(0);
}
System.out.println(this.getClass().getSimpleName()+"攻擊"
+p.getClass().getSimpleName()+","
+this.getClass().getSimpleName()
+(this.hitFlag?"發動攻擊技能":"未發動攻擊技能")
+p.getClass().getSimpleName()
+(this.defenseFlag?"發動防禦技能":"未發動防禦技能")
+this.getClass().getSimpleName()+":"+this.val+","
+p.getClass().getSimpleName()+":"+p.val);
hitFlag=false;
defenseFlag=false;
}

publicintdefense(Personp){
if(rand.nextInt(10)<chanceDefense){
defenseFlag=true;
returnp.fight/2;//防禦技能發動,傷害減半
}
returnp.fight;
}
}


packagecom.lxi;

importjava.io.BufferedReader;
importjava.io.InputStreamReader;
importjava.util.Random;

//三個人物的基類
abstractclassPerson{
intval;//生命值
doublecoldTime;//冷卻時間
intwaitTime;//暈眩時間
intfight;//攻擊力
intchanceHit;//發起主動技能的概率
intchanceDefense;//發起防禦技能的概率

abstractvoidhit(Personp);//攻擊技能

abstractintdefense(Personp);//防禦技能,返回被傷害點數
}

classDHextendsPerson{
publicDH(){
val=600;
coldTime=1.0;
fight=30;
chanceHit=3;//表示30%的概率
chanceDefense=3;
waitTime=0;
}

Randomrand=newRandom();
booleanhitFlag=false;//主動技能發動的標識
booleandefenseFlag=false;//防禦技能發動的標識

publicvoidhit(Personp){
if(rand.nextInt(10)<chanceHit){//發動主動技能
inthurt=p.defense(this);
p.val=p.val-hurt;
if(p.val<=0){
System.out.println(this.getClass().getSimpleName()+"勝出!");
System.exit(0);
}
val=val+hurt;
if(val>600)
val=600;
hitFlag=true;//標記主動技能已經發動
}else{//進行普通攻擊
inthurt=p.defense(this);
p.val=p.val-hurt;
if(p.val<=0){
System.out.println(this.getClass().getSimpleName()+"勝出!");
System.exit(0);
}
}
System.out.println(this.getClass().getSimpleName()+"攻擊"
+p.getClass().getSimpleName()+","
+this.getClass().getSimpleName()
+(this.hitFlag?"發動攻擊技能":"未發動攻擊技能")
+p.getClass().getSimpleName()
+(this.defenseFlag?"發動防禦技能":"未發動防禦技能")
+this.getClass().getSimpleName()+":"+this.val+","
+p.getClass().getSimpleName()+":"+p.val);
hitFlag=false;//
defenseFlag=false;//重置標記,下次重用
}

publicintdefense(Personp){
if(rand.nextInt(10)<chanceDefense){
defenseFlag=true;//標記防禦技能已經發動
return0;
}else{
returnp.fight;
}
}
}

③ 求像夢幻那點的回合制RPG游戲製作工程代碼!

用RPG MAKER XP做,默認就是回合制直板的,橫板去66RPG搜索45度橫板

④ C++如何寫RPG游戲場景

2D游戲場景就像拼圖游戲,由基本元素拼起來的,只要有足夠的點陣圖圖片,貼在畫布上就行,如果你用過war3的地圖編輯器,就能很直觀的了解是怎麼做的,貼在畫布上就行。。。。如果不用任何2D圖像引擎,最底層的方法是調用GUI工具(windows系統提供的)中的繪圖API函數,將畫布分割成N個矩形,每個矩形用點陣圖填充,就能構成場景。。。。
3D游戲就麻煩了,必須有3D引擎,我也不懂,3D場景相當於在石膏像上貼圖片,要復雜的多。。。

⑤ 如何用CE修改RPG游戲

CE是修改數值的,比如說用CE選好你的游戲,你的錢有1000塊,在搜索框打1000,然後會在左邊有很多個代碼,你在游戲里花掉100,在搜索框打900再查找一次,這時候左邊一般只剩下一個代碼,點擊它,下面出現這個代碼,雙擊,有一個框出來,輸入你想修改的值,想改屬性也可以用這個方法

⑥ 怎麼用c#製作rpg游戲

LZ可以看一下一本叫做《手把手教你用c#製作rpg游戲》的書,裡面詳細的介紹了怎樣用c#來製作一款完整的rpg游戲。包括人物行走,技能、背包、戰斗、劇情、保存這些系統,還配了個光碟,有全程的視頻教學,應該能夠幫助lz快速上手。

⑦ RPG製作大師做游戲可以加入代碼進行二次創作嗎

RPG製作大師,正常使用它的功能是不需要代碼的,但是不滿意它所提供的功能是需要用代碼去完成的,比如說一些晝夜系統,寵物系統什麼的,用是腳本語言我記得是JavaScript的,很好理解

⑧ 怎麼製作RPG游戲

從網路幫你找的!希望對樓主有幫助,好運吧!
◎第一步:決定資料格式

在進入游戲製作的初期,由於有許多和程式有關的資料需要編整,因此擔任企劃的人員常會忙得亂七八糟。在這個階段,企劃人員必需要和程式商量游戲中資料的格式。舉個例子來說,在程式要開始設計游戲的相關工具程式時,他就會需要各種相關的資料,此時企劃就必需要將這些資料一一表達給程式,讓程式能夠設計出合用的工具程式。像是設計一款角色扮演游戲時第一步要做的就是一個地圖編輯器,因此身為企劃的人要能夠很明確的講出這個地圖編輯器的規格,像是地圖的尺?擠段А咀⒁弧俊⒚空諾贗寄芄皇褂玫牡贗莢?素數量【注二】、需要設定什麼相關資料等等【注三】。

◎第二步:設定各項資料

解決了地圖資料後,程式就會開始設計地圖編輯程式,此時企劃並不是沒有事要做了,而是面臨了另一個新的工作,就是設定游戲中的各項資料。在這里所指的各項資料,指的是在游戲中將會使用到的各種相關資料,像是在角色扮演游戲中佔有重要地位的道具資料;使用不同魔法發生效果的設定資料;以及戰斗中的另一主角~敵人資料的設定,都是包含在這個階段的任務。由於當程式人員將地圖編輯程式寫好後,企劃就要開始針對這個程式進行一連串的工作,因此若是不在這個階段先將游戲相關的資料整理好,等到要用的時候就會手忙腳亂了。

現在筆者就以道具資料來做個介紹。各位讀者先想想看,在設定道具資料時需要有那些相關的資料呢?t以道具的種類來說,通常我們可以將它分為幾個大類,首先是可以大略的分為人物用的裝備以及使用道具,接下來裝備有可以依功用的不同而再區分為武器、護甲、頭盔、盾牌等等,有些游戲甚至還細分到手套、鞋子等多項不同功用的人物裝備,這都是視企劃認為自己的游戲中需要而決定。至於在使用的道具中,也可以大略分為治療用道具、移動用道具、輔助型道具、以及角色扮演游戲中過關所需的必要道具。

那麼我們再來看看在角色扮演游戲中的道具到底還需要些什麼相關的資料呢?t首先是人物裝備這一類,在角色扮演游戲中需要設定每一件裝備那些人人可以使用,以及裝備後所能產生的效果。通常我們常見的簡單作法就是依裝備的種類給予一個數值,這個數值所代表的就是攻擊力或是防禦力。不過這樣子的設計對於要求比較多的玩家似乎無法滿足,因此也有的游戲採用每一件裝備都有數個數值是表示影響人物的狀況。就讓我們舉個例子來說吧:

我們就以簡單與復雜的兩種方式來表示裝備的資料,首先我們看以下的資料(先不管可以裝備的人物):

┌——┬——————┐
│名稱│能力 │
├——┼——————┤
│短劍│攻擊力+10│
│巨斧│攻擊力+22│
└——┴——————┘
這就是簡單的裝備資料設定,這種作法只能簡單的表現出每件裝備的好壞,但是卻缺乏了裝備的特性,因為在裝備的資料中,只有一個數據是與戰斗有關的,因此對於玩家來說,東西的好壞就只有靠數值的大小來決定。

不過各位想想看,當一位角色裝備了一把短劍、和裝備了一把巨大的戰斧時,是否只有攻擊力上的差異呢?t是不是裝備了巨斧的人物會受到武器的影響而使得攻擊的速度較慢呢?t因此在角色扮演游戲中也有這種復雜的裝備資料:

┌——┬———┬———┐
│名稱│攻擊力│敏捷度│
├——┼———┼———┤
│短劍│+10│- 2│
│巨斧│+22│-10│
└——┴———┴———┘
如果採用以上的方式,那麼人物裝備了一件比較強力的裝備時,可能會有其他的屬性隨之下降,因此玩家在給人物裝備武器時,所要考慮的就不只是武器的攻擊力,而同時要考慮到這件武器是否適合這名人物了。這樣的作法,使得每一件裝備都更有特色,購買裝備時也不再是挑數字大的裝備就好,使得游戲能夠比較多變。

那麼是不是這樣子就夠了呢?t其實各位擔任企劃的人員可以發揮自己的巧思,增加獨特的裝備特性。舉個例子來說,可以增加一組數據作為武器的攻擊命中率。如此一來可以設計出攻擊力強但是命中率低的獨特武器;也可以設計出攻擊力低但是命中率高的武器,如此一來玩家在進行裝備時就要更加註意了。只有發揮巧思規劃出自己的特色,才能夠讓每一件裝備有著與眾不同的個性。

那麼一般的道具又有什麼重要的資料是不可缺少的呢?t各位讀者請先想想看在您所玩過的角色扮演游戲中這些道具有什麼資料呢?t在角色扮演游戲中常見的道具就是用來恢復生命及法力的葯劑(有的游戲是草葯或是卷軸等等),此外恢復人物不良狀況的道具(像是中毒、麻庳等)也是常見到的。這一類的道具,通常我們都稱之為治療用道具。

除此之外還有些什麼樣的道具呢?t像是用來打開各種不同門的鑰匙、使用後可以產生與魔法相同作用的魔法道具、可以讓角色快速的移動到其他地點的道具、以及在劇情中需要的各種道具,都是角色扮演游戲中常見的不是嗎?t這些道具有的看起來可能不是那麼的起眼,但是它們的存在卻讓角色扮演游戲增色不少,因此如何去規劃這些道具就是各位企劃的一個重責大任。

好了,現在道具的資料該怎麼設定大家都知道了吧,現在我們來看看其他要設定的資料。首先要看的是魔法的資料,在這里我們要設定每一項魔法的功用,像是這項魔法是攻擊、防禦、還是其他功用的,至於使用時消耗的法力、以及魔法的效果(治療法術是恢復點數,攻擊法術是傷害點數)都要在這個時候一一規劃好。

完成了魔法的規劃,就可以開始設定敵人的資料。在進入戰斗時,每一名敵人角色所需要的資料其實就和玩者控制的角色相同,才可以進行各種相關的運算,因此在這個階段,擔任企劃的人員就要小心的規劃每一名敵人角色的數值,才可以使得游戲進行時不會有太難或是太簡單的狀況發生。有一些游戲為了預防這樣的狀況,因此出現敵人的等級是隨著玩者控制角色的強弱而隨之更改,也算是解決了難易度的問題。

◎第三步:編寫完整的劇情

在這些資料都設定完成後,企劃就要開始正視角色扮演游戲的骨幹~劇情了。由於在第一個月中已經完成了故事大綱,因此這個時候就要跟劇這些大綱發展相關的情節。現在就請各位先看看上個月我們設計的劇情大綱: 游戲的主角是一名流浪的騎士,這一天經過一個殘破的村莊,從村民的口中得知王國正受到魔王的危害。

基於正義感,主角前往王城覲見國王卡拉斯七世,從國王的口中得知一切的事情,同時也知道公主已經在上一次魔王手下的來襲時被抓走了。國王告知想打敗魔王,就要先取得傳說中的勇者之劍及勇者之鎧。勇者之鎧被放置在大陸西邊的神殿里,那裡已經被魔王的部下所佔領了;勇者之劍則要取得大陸南邊火山裡的金屬,再交給老鐵匠來打造。

於是主角來到大陸西邊的神殿,打倒了佔領此地的魔王手下,取得了勇者之鎧。接下來南邊的火山,在通過了迷宮洞窟的考驗後,找到了可以打造勇者之劍的神秘金屬。

帶著神秘的金屬找到了隱居的老鐵匠,將神秘金屬交給他,就可以打造出勇者之劍。有了勇者之劍和勇者之鎧之後,前往魔王的宮殿與魔王展開決戰,在打敗了魔王救回公主後,使王國恢復了和平,而者名流浪的騎士也和公主結婚成為下一任的國王。

企劃人員要依自己所規劃的劇情大綱,來開出遊戲中要出現的地點。這些地點,也就是要提供給美術人員進行地圖的繪制,因此一些相關的資料以及描述自然也少不了。以這個範例來說,需要出現的地點如下【注四】:

1. 受到攻擊的村莊。
2. 國王所在的王城。
3. 大陸西邊的神殿。
4. 大陸南方火山的迷宮洞窟。
5. 老鐵匠的隱居地點。
6. 魔王的宮殿。

這六個出現在故事大綱中的地點就是本游戲中一定要存在的地點,也就是在製作時要列為第一優先的地點。當然有些游戲設計者也會在地圖上放置一些無關劇情的地點,這就要讓各位擔任企劃的人員自由發揮了。到了這里,本月份企劃的工作也到一個階段了。以這個月來說,企劃的工作是相當繁重的,不過若是不能好好的處理這一方面的問題,恐怕會導致游戲製作後期更大的狀況喔。

推薦一個製作RPG游戲的軟體
《RPG 游戲製作(RPG Maker XP) 1.01 漢化修正第二版》

rpg maker xp,
http://www.skycn.com/soft/17372.html (天空的)
http://www.onlinedown.net/soft/29096.htm(華軍的)
都是漢化版的,以後多多交流阿,有什麼rpg製作的問題都可以去66rpg那裡問,大家以後都是一家人了,呵呵。

⑨ 世界rpg存檔代碼怎麼用

下載W3MM這個地圖編輯器

先找你需要的裝備然後下載W3MM這個地圖編輯器 可以打開地圖 左下角有物品編輯器 打開之後 找裡面你要的物品 找到了前面會有4位的代碼 ,在隨便用一個修改器 ,去修改 ,然後保存就可以了。

《魔獸爭霸Ⅲ》是的暴雪娛樂公司出品的一款即時戰略游戲,《魔獸爭霸Ⅲ:混亂之治》於2002年7月發行。最新資料片為《魔獸爭霸Ⅲ:冰封王座》。

玩家可以選擇在《魔獸爭霸Ⅲ》中操控四個種族,其中人類(Human)和獸人(Orc)在其前作《魔獸爭霸Ⅱ:黑潮》中就已出現,另外兩個是新增的種族,即暗夜精靈 (NightElf)和不死亡靈(Undead)。

熱點內容
絕地求生未來之役比賽為什麼進不去 發布:2023-08-31 22:07:08 瀏覽:1475
dota2位置什麼意思 發布:2023-08-31 22:00:04 瀏覽:912
lol電競是什麼樣子 發布:2023-08-31 21:58:40 瀏覽:1372
絕地求生八倍鏡的那個圓圈怎麼弄 發布:2023-08-31 21:58:31 瀏覽:1461
lol龍龜一個多少金幣 發布:2023-08-31 21:55:07 瀏覽:820
王者如何改游戲內名稱 發布:2023-08-31 21:55:06 瀏覽:1104
游戲主播打廣告是什麼意思 發布:2023-08-31 21:55:06 瀏覽:1805
絕地求生如何免費拿到ss7賽季手冊 發布:2023-08-31 21:52:13 瀏覽:992
pgg是哪個國家的戰隊lol 發布:2023-08-31 21:52:07 瀏覽:869
一個人的時候才發現游戲很沒意思 發布:2023-08-31 21:49:24 瀏覽:1505