只要知道以上的功能,SA-MP腳本就會一半以上了
While:
這也是常使用到的迴圈,當我們不知道迴圈數的時候,使用While迴圈我們要先設置一個迴圈如下:
new i= 5;
new money = 0;
while(i > 0) // 當i減到0時,迴圈停止
{
money += 3000;
i --;
}
printf("Money:%d",money);
輸出
Money:15000
For:
這是一個常使用到的迴圈,先決條件是要先知道有幾次迴圈我們要先設置一個迴圈如下:
for(new i = 0; i < MAX_PLAYERS; i++) // 已知玩家最高數量所執行的迴圈
{
printf("%d",i);
}
輸出如下:
0
1
2
.
.
*499
*注意到499這個數字,雖然MAX_PLAYERS是500,但條件 i < MAX_PLAYERS,所以最高為499,並非500
Continue:
我們要先設置一個迴圈如下:for(new i = 0; i < 10; i++)
{
if(i == 5) continue;
printf("%d",i);
}
在執行這迴圈時,輸出如下:
0
1
2
3
4
6
7
8
9
if-else:
我們先設定一個X變數如下:new x = 0;
f(x == 0)
{
}
else if(x == 1)
{
}
else if(x == 2)
{
}
.
.
.
else
{
}
Switch-case:
switch(x) // 你的變數
{
case 0: // x = 0時
{
}
case 1: // x = 1時
{
}
.
.
.
default: // 預設值
{
}
}
Break:
我們要先設置一個迴圈如下:for(new i = 0; i < 10; i++)
{
printf("%d",i);
if(i == 5) break;
}
在執行這迴圈時,輸出如下:
0
1
2
3
4
5
Return:
文字回傳:
我們先定義一個函數如下
pwn code:
stock skygf(playerid)
{
new string = "I am Godfather";
printf("%s",string);
return string;
}
當我執行這個函數時,伺服器後台會顯示:
I am Godfather
數字回傳:
我們再來定義一個函數如下
pwn code:
stock WeaponPrice(weaponid) // 武器價錢
{
switch(weaponid)
{
case 24: return 10000; // 沙漠之鷹的價值是10000
}
}
printf("沙漠之鷹價錢:%d",WeaponPrice(24));
當我執行這個函數時,回傳值會顯示:
沙漠之鷹價錢:10000
詳情可以至:Samp-Wiki-Statements