MATHIJS Geplaatst: 14 november 2010 Rapport Geplaatst: 14 november 2010 (bewerkt) Nou omdat ik zo een kneus ben heb ik alweer wat errors die ik niet weet te fixe Script: 579. dcmd_goto(playerid, params[]) 580. { 581. new id = strval(params) 582. else if(!strlen(params)) return SendClientMessage(playerid, 0xFF0000AA, "/Goto [playerid]"); 583. else if(id == playerid) return SendClientMessage(playerid, 0xFF0000AA, "You cannot goto yourself..."); 584. else if(!IsPlayerConnected(id)) return SendClientMessage(playerid, 0xFF0000AA, "Player is not connected"); 585. else 586. { 587. new Float:X, Float:Y, Float:Z, Pname[24]; 588. GetPlayerPos(id, X, Y, Z); 589. GetPlayerName(id, Pname, 24); 590. SetPlayerPos(playerid, X, Y, Z); 591. new String[56]; 592. format(String, sizeof(String), "You have teleported to %s(%d)", Pname, id); 593. SendClientMessage(playerid, 0xFF0000AA, String); 594. } 595. return 1; 596. } Errors: C:\Users\Mathijs\Desktop\[Name] Server\gamemodes\NewScript.pwn(579) : warning 217: loose indentation C:\Users\Mathijs\Desktop\[Name] Server\gamemodes\NewScript.pwn(579) : error 017: undefined symbol "dcmd_goto" C:\Users\Mathijs\Desktop\[Name] Server\gamemodes\NewScript.pwn(581) : error 017: undefined symbol "params" C:\Users\Mathijs\Desktop\[Name] Server\gamemodes\NewScript.pwn(582) : error 001: expected token: ";", but found "else" C:\Users\Mathijs\Desktop\[Name] Server\gamemodes\NewScript.pwn(582) : error 029: invalid expression, assumed zero C:\Users\Mathijs\Desktop\[Name] Server\gamemodes\NewScript.pwn(582) : warning 215: expression has no effect C:\Users\Mathijs\Desktop\[Name] Server\gamemodes\NewScript.pwn(582) : error 001: expected token: ";", but found "if" C:\Users\Mathijs\Desktop\[Name] Server\gamemodes\NewScript.pwn(582) : fatal error 107: too many error messages on one line Alvast bedankt voor het fixen van mijn erros Bewerkt: 14 november 2010 door MATHIJS 0 Reageren
Gast Geplaatst: 14 november 2010 Rapport Geplaatst: 14 november 2010 Plaats dit boven aan je script, onder de includes: #define dcmd(%1,%2,%3) if ((strcmp((%3)[1], #%1, true, (%2)) == 0) && ((((%3)[(%2) + 1] == 0) && (dcmd_%1(playerid, "")))||(((%3)[(%2) + 1] == 32) && (dcmd_%1(playerid, (%3)[(%2) + 2]))))) return 1 Omdat jij een beginnende scripter bent, die deze command heeft gekopiëerd van een andere script en wat in elkaar hebt geflantst, krijg je deze problemen. Je had de else niet gesloten maar wel geopend. En jah, deze script slaat eigenlijk nergens op. Ik heb het even helemaal veranderd: dcmd_goto(playerid, params[]) { new id = strval(params); if(!strlen(params)) { SendClientMessage(playerid, 0xFF0000AA, "/Goto [playerid]"); return 1; } if(id == playerid) { SendClientMessage(playerid, 0xFF0000AA, "You cannot goto yourself..."); return 1; } if(!IsPlayerConnected(id)) { SendClientMessage(playerid, 0xFF0000AA, "Player is not connected"); return 1; } new Float:X, Float:Y, Float:Z, Pname[24]; GetPlayerPos(id, X, Y, Z); GetPlayerName(id, Pname, 24); SetPlayerPos(playerid, X, Y, Z); new String[56]; format(String, sizeof(String), "You have teleported to %s(%d)", Pname, id); SendClientMessage(playerid, 0xFF0000AA, String); } } } return 1; } Ik weet niet zeker of ik de 'braces' goed heb geteld. 0 Reageren
powerkip96 Geplaatst: 14 november 2010 Rapport Geplaatst: 14 november 2010 (bewerkt) Uhm ik heb 't niet getest buiten mijn script maar dit komt uit mijn script: if(strcmp(cmd, "/goto", true) == 0) { tmp = strtok(cmdtext, idx); if(!strlen(tmp)) { SendClientMessage(playerid, COLOR_RED, "USAGE: /goto [playerid]"); return 1; } giveplayerid = strval(tmp); new Float:x,Float:y,Float:z; GetPlayerPos(giveplayerid, x, y ,z); new giveplayerint = GetPlayerInterior(giveplayerid); new giveplayervir = GetPlayerVirtualWorld(giveplayerid); if ((IsPlayerAdmin(playerid))) { if (IsPlayerInAnyVehicle(playerid)) { new playervec = GetPlayerVehicleID(playerid); SetVehiclePos(playervec, x, y, z+3.5); LinkVehicleToInterior(playervec, giveplayerint); SetVehicleVirtualWorld(playervec, giveplayerint); SetPlayerInterior(playerid, giveplayerint); SetPlayerVirtualWorld(playerid, giveplayervir); SetVehicleZAngle(playervec, z); PutPlayerInVehicle(playerid, playervec, 0); format(string, sizeof(string), "You have teleported to %s",PlayerName[giveplayerid]); SendClientMessage(playerid, COLOR_ORANGE, string); format(string, sizeof(string), "%s teleported to you.",PlayerName[playerid]); SendClientMessage(giveplayerid, COLOR_ORANGE, string); if(IsPlayerInHouse[giveplayerid] != INVALID_HOUSE_ID && IsPlayerInHouse[playerid] == INVALID_HOUSE_ID){IsPlayerInHouse[playerid] = IsPlayerInHouse[giveplayerid];} else{IsPlayerInHouse[playerid] = INVALID_HOUSE_ID;} } else { SetPlayerInterior(playerid, giveplayerint); SetPlayerVirtualWorld(playerid, giveplayervir); SetPlayerPos(playerid, x, y, z+3.5); format(string, sizeof(string), "You have teleported to %s",PlayerName[giveplayerid]); SendClientMessage(playerid, COLOR_YELLOW, string); format(string, sizeof(string), "%s teleported to you.",PlayerName[playerid]); SendClientMessage(giveplayerid, COLOR_YELLOW, string); if(IsPlayerInHouse[giveplayerid] != INVALID_HOUSE_ID && IsPlayerInHouse[playerid] == INVALID_HOUSE_ID){IsPlayerInHouse[playerid] = IsPlayerInHouse[giveplayerid];} else{IsPlayerInHouse[playerid] = INVALID_HOUSE_ID;} } } else { SendClientMessage(playerid, COLOR_RED, "You are not allowed to use this command."); } return 1; } Bewerkt: 14 november 2010 door powerkip96 0 Reageren
MATHIJS Geplaatst: 14 november 2010 Auteur Rapport Geplaatst: 14 november 2010 (bewerkt) Krijg nu deze errors :| Errors : C:\Users\Mathijs\Desktop\[Name] Server\gamemodes\NewScript.pwn(632) : warning 217: loose indentation C:\Users\Mathijs\Desktop\[Name] Server\gamemodes\NewScript.pwn(632) : error 017: undefined symbol "dcmd_goto" C:\Users\Mathijs\Desktop\[Name] Server\gamemodes\NewScript.pwn(634) : error 017: undefined symbol "params" C:\Users\Mathijs\Desktop\[Name] Server\gamemodes\NewScript.pwn(636) : error 017: undefined symbol "params" C:\Users\Mathijs\Desktop\[Name] Server\gamemodes\NewScript.pwn(662) : warning 225: unreachable code C:\Users\Mathijs\Desktop\[Name] Server\gamemodes\NewScript.pwn(662) : warning 217: loose indentation Het script: 632. dcmd_goto(playerid, params[]) 633. { 634. new id = strval(params); 635. 636. if(!strlen(params)) { 637. SendClientMessage(playerid, 0xFF0000AA, "/Goto [playerid]"); 638. return 1; 639. } 640. 641. if(id == playerid) { 642. SendClientMessage(playerid, 0xFF0000AA, "You cannot goto yourself..."); 643. return 1; 644. } 645. if(!IsPlayerConnected(id)) { 646. SendClientMessage(playerid, 0xFF0000AA, "Player is not connected"); 647. return 1; 648. } 649. new Float:X, Float:Y, Float:Z, Pname[24]; 650. GetPlayerPos(id, X, Y, Z); 651. GetPlayerName(id, Pname, 24); 652. SetPlayerPos(playerid, X, Y, Z); 653. new String[56]; 654. format(String, sizeof(String), "You have teleported to %s(%d)", Pname, id); 655. SendClientMessage(playerid, 0xFF0000AA, String); 656. return 1; 657. } Bewerkt: 14 november 2010 door MATHIJS 0 Reageren
Big Boss Geplaatst: 14 november 2010 Rapport Geplaatst: 14 november 2010 Doet mij alleen maar vermoeden dat je ofwel; de dcmd define nog steeds niet hebt toegevoegd (zie eerder in dit topic), óf het commando bent vergeten "aan te melden" onder OnPlayerCommandText. public OnPlayerCommandText(playerid, cmdtext[]) { dcmd(goto, 4, cmdtext); return 0; } 0 Reageren
MATHIJS Geplaatst: 14 november 2010 Auteur Rapport Geplaatst: 14 november 2010 Doet mij alleen maar vermoeden dat je ofwel; de dcmd define nog steeds niet hebt toegevoegd (zie eerder in dit topic), óf het commando bent vergeten "aan te melden" onder OnPlayerCommandText. public OnPlayerCommandText(playerid, cmdtext[]) { dcmd(goto, 4, cmdtext); return 0; } Bedankt voor de hulp. 0 Reageren
Recommended Posts
Een reactie plaatsen
Je kan nu een reactie plaatsen en pas achteraf registreren. Als je al lid bent, log eerst in om met je eigen account een reactie te plaatsen.